package com.sen.rbac.service;


import com.sen.common.common.bo.SysResourceBO;
import com.sen.common.common.response.MessageResult;
import com.sen.rbac.dto.SysRoleDto;
import com.sen.rbac.vo.SysResourceVO;
import com.sen.rbac.vo.SysRoleGroupVO;

import java.util.List;

/**
 * @author esjiang
 */
public interface RoleService {

    /**
     * crud操作
     * @param sysRoleDto
     * @return
     */
    MessageResult crud(SysRoleDto sysRoleDto) ;

    /**
     * 查询角色组信息
     * @return
     */
    List<SysRoleGroupVO> findRoleGroup();

    /**
     * 关联资源
     * @param roleCode 角色编码
     * @param resourceCodes
     * @return
     */
    boolean relatedResource(String roleCode, List<String> resourceCodes);

    /**
     * 查询账户拥有的资源信息
     * @param userName
     * @return
     */
    List<SysResourceBO> getResourcesByUserNameForGateway(String userName);

    /**
     * 查询角色拥有的资源信息
     * @param code
     * @return
     */
    List<SysResourceVO> findResourceByRoleCode(String code);

}
